package com.ltxtiyu.video.dao.ltx;

import com.ltxtiyu.video.entity.Moment;
import com.ltxtiyu.video.vo.ms.VideoVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
public interface MomentDao {
    int deleteByPrimaryKey(Integer id);

    int insertSelective(Moment record);

    Moment selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Moment record);

    int updateByPrimaryKeyWithBLOBs(Moment record);

    Integer selectMomentCount(Map<String, Object> momentMap);

    Integer selectLikedMomentCount(Map<String, Object> userId);

    Integer selectMomentCountForPerson(Map<String, Object> map);

    List<VideoVo> findByParamList(Map<String, Object> map);
    List<Moment> selectMomentListForPerson(Map<String, Object> momentMap);

    List<Moment> selectMomentListForPersonLike(Map<String, Object> momentMap);

    List<Moment> selectMomentListForFollow(Map<String, Object> map);

    List<Moment> selectMomentListForTopicHot(Map<String, Object> map);

    List<Moment> selectMomentListForTopicNew(Map<String, Object> map);

    List<Moment> selectMomentListByParams(Map<String, Object> map);

    int findNumberByTopic(String name);

    List<Moment> selectMomentListForRecommendUnPlayed(Map<String, Object> map);

    List<Moment> selectMomentListForRecommendPlayed(Map<String, Object> map);

    int findByParamCount(Map<String, Object> map);
}